feat(chat): 채팅방 채팅 메세지 전달 로직 디버깅 (#78)#170
Conversation
|
Caution Review failedThe pull request is closed. Walkthrough채팅 전송 경로가 경로변수 기반으로 변경되고, Redis 퍼블리시/구독 흐름이 재배선되었습니다. 퍼블리셔는 UUID roomId와 노드 UUID 태깅을 도입했고, 서브스크라이버는 중복 회피 필터를 제거해 모든 수신 메시지를 STOMP로 전달합니다. 드래프트 알림 채널과 Redis 구독 패턴도 /topic/draft.*로 통일되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant C as Client (STOMP)
participant WS as WebSocket Broker
participant Ctl as ChatMessagingController
participant Pub as ChatRedisPublisher
participant Redis as Redis (pub/sub)
participant Sub as ChatRedisSubscriber
C->>WS: SEND /app/chat/{roomId}/send
WS->>Ctl: @MessageMapping("/chat/{roomId}/send")
rect rgba(200,240,255,0.3)
note right of Ctl: roomId로 권한/저장 처리
Ctl->>Pub: publishToRoom(roomId, payload+meta)
Pub->>Redis: PUBLISH chat.<roomId> with {"_src": nodeId, ...}
end
Redis-->>Sub: MESSAGE chat.<roomId>
rect rgba(220,255,220,0.3)
note right of Sub: 원본 노드 필터링 없이 전달
Sub->>WS: convertAndSend /topic/chat.{roomId}
WS-->>C: MESSAGE /topic/chat.{roomId}
end
sequenceDiagram
autonumber
participant S as Draft Emitter
participant Redis as Redis (pub/sub)
participant RSub as RedisSubscriber
participant WS as WebSocket Broker
participant U as Client (STOMP)
S->>Redis: PUBLISH draft.* channel
Redis-->>RSub: onMessage(draftId, payload)
RSub->>WS: convertAndSend /topic/draft.{draftId}
WS-->>U: MESSAGE /topic/draft.{draftId}
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. 📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (11)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit